package com.zcsy.manage.service.system;

import java.util.List;
import java.util.Map;

import com.zcsy.manage.model.system.Log;

/**  
 * @Project: mis
 * @Title: ILogService.java
 * @Package com.framework.service
 * @Description: TODO
 *
 * @author chensf 735569870@qq.com
 * @date 2015年4月20日 上午10:11:26
 * @Copyright: 2015 武汉中财数元科技有限公司 All rights reserved.
 * @version V1.0  
 */
public interface ILogService {
	/**
	 * @Description 插入用户操作日志记录<br>
	 * 
	 * @param record 用户操作日志对象
	 * @return 返回1：成功 0：失败
	 * @author caiyinli 13277030520@163.com
	 * @date 2015年8月24日
	 * @see 
	 */
	int insert(Log record);
	
	 /**
     * 
     * @Description <br>
     * 通过id删除浏览记录
     * @param ids id集合
     * @return 删除结果
     * @author caiyinli 13277030520@163.com
     * @date 2015年8月6日
     * @see
     */
    int deleteByIds(List<String> ids);
    
	/** 
	 * @Title: getLogByPage 
	 * @Description: TODO 分页查询日志
	 * @param @return     
	 * @return List<Log>     日志集合
	 * @throws  none
	 */
	public List<Log> getByPage(Log record);
	
	 /**
     * 
     * @Description <br>
     * 通过主键id查询浏览记录
     * @param id 主键id
     * @return 浏览记录
     * @author caiyinli 13277030520@163.coms
     * @date 2015年8月6日
     * @see
     */
    Log selectById(String id);
    
    /**
     * 
     * @Description <br>
     * 用户 操作日志报表
     * @return 
     * @author chensf 735569870@qq.com
     * @date 2016年1月12日
     * @see
     */
    List<Map<String, Object>> getReport();
    
    /**
     * 
     * @Description <br>
     * 按日期统计不同操作类型
     * @return 不同日期不同类型的操作次数的map集合
     * @author chensf 735569870@qq.com
     * @date 2016年1月13日
     * @see
     */
    List<Map<String, Object>> getReportByDate();
    
    /**
     * 
     * @Description <br>
     * 按周统计不同操作类型
     * @return 不同类型的操作次数的map集合
     * @author chensf 735569870@qq.com
     * @date 2016年1月14日
     * @see
     */
    List<Map<String, Object>> getReportByWeek();
    
    /**
     * 
     * @Description <br>
     * 按月统计不同操作类型
     * @return 不同类型的操作次数的map集合
     * @author chensf 735569870@qq.com
     * @date 2016年1月14日
     * @see
     */
    List<Map<String, Object>> getReportByMonth();
}

